package xyz.ddlnt.serviceusr.service;

import com.baomidou.mybatisplus.extension.service.IService;
import xyz.ddlnt.model.dto.LoginDTO;
import xyz.ddlnt.model.dto.UserInfoDTO;
import xyz.ddlnt.model.entity.UserInfo;
import xyz.ddlnt.model.vo.BloggerInfoVO;
import xyz.ddlnt.model.vo.UserAchieveVO;

/**
 * @author ZZULI_SE 210910
 * @data 2025/5/6 22:46
 */
public interface UserService extends IService<UserInfo> {
    /**
     * 用户登录
     * @return
     */
    Boolean login(LoginDTO loginDTO);

    /**
     * 用户注册
     * @return
     */
    Boolean register(LoginDTO loginDTO);

    /**
     * 用户注销
     * @param loginDTO
     * @return
     */
    Boolean cancel(LoginDTO loginDTO);

    /**
     * 更新用户信息
     * @param userInfoDTO
     * @return
     */
    Boolean updateUserInfoById(UserInfoDTO userInfoDTO);

    /**
     * 获取文章的博主信息
     * @param id
     * @return
     */
    BloggerInfoVO getPostBloggerInfo(Long id);

    /**
     * 获取用户成就信息
     * @param id
     * @return
     */
    UserAchieveVO getUserAchieve(Long id);
}
